home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Graphics Programming (2nd Edition) / Visual Basic Graphics Programming 2nd Edition.iso / Src / Ch17 / Traceabl.cls < prev    next >
Text File  |  1999-07-05  |  2KB  |  71 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "RayTraceable"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15. ' Apply a transformation matrix to the object.
  16. Public Sub Apply(M() As Single)
  17.  
  18. End Sub
  19. ' Apply a transformation matrix to the object.
  20. Public Sub ApplyFull(M() As Single)
  21.  
  22. End Sub
  23.  
  24. ' Draw the object with backfaces removed.
  25. Public Sub DrawBackfacesRemoved(ByVal pic As PictureBox)
  26.  
  27. End Sub
  28. ' Draw a wireframe for this object.
  29. Public Sub DrawWireFrame(ByVal pic As PictureBox)
  30.  
  31. End Sub
  32. ' Return the red, green, and blue components of
  33. ' the surface at the hit position.
  34. Public Sub FindHitColor(ByVal depth As Integer, Objects As Collection, ByVal eye_x As Single, ByVal eye_y As Single, ByVal eye_z As Single, ByVal px As Single, ByVal py As Single, ByVal pz As Single, ByRef R As Integer, ByRef G As Integer, ByRef B As Integer)
  35.  
  36. End Sub
  37. ' Return the value T for the point of intersection
  38. ' between the vector from point (px, py, pz) in
  39. ' the direction <vx, vy, vz>.
  40. '
  41. ' direct_calculation is true if we are finding the
  42. ' intersection from a viewing position ray. It is
  43. ' false if we are finding an reflected intersection
  44. ' or a shadow feeler.
  45. Public Function FindT(ByVal direct_calculation As Boolean, ByVal px As Single, ByVal py As Single, ByVal pz As Single, ByVal Vx As Single, ByVal Vy As Single, ByVal Vz As Single) As Single
  46.  
  47. End Function
  48. ' See if the scanline plane with the indicated
  49. ' point and normal intersects this object. Set
  50. ' the object's DoneOnThisScanline flag appropriately.
  51. Public Sub CullScanline(ByVal px As Single, ByVal py As Single, ByVal pz As Single, ByVal Nx As Single, ByVal Ny As Single, ByVal Nz As Single)
  52.  
  53. End Sub
  54. ' Add non-backface polygons to this collection.
  55. Public Sub GetPolygons(ByRef num_polygons As Integer, polygons() As SimplePolygon, ByVal shaded As Boolean)
  56.  
  57. End Sub
  58.  
  59. ' Return the minimum and maximum distances from
  60. ' this point.
  61. Public Sub GetRminRmax(ByRef new_min As Single, ByRef new_max As Single, ByVal X As Single, ByVal Y As Single, ByVal Z As Single)
  62.  
  63. End Sub
  64.  
  65. ' Reset the ForeverCulled flag.
  66. Public Sub ResetCulling()
  67.  
  68. End Sub
  69.  
  70.  
  71.